package concurrency.prod_cons.moniteur;

public class Consommateur implements Runnable {
	
	private final String id;
	private String message;
	private final MoniteurProdCons moniteur;
	
	public Consommateur(final String id, final MoniteurProdCons moniteur) {
		this.id = id;
		this.moniteur = moniteur;
		new Thread(this).start();
	}
	
	private void consommer(String message) {
		message += " read by " + id;
		System.out.println(message);
	}
	
	@Override
	public void run() {
		while (true) {
			message = moniteur.retirer();
			consommer(message);
			Main.pauseAlea(5000);
		}
	}
	
	@Override
	public String toString() {
		String description = "Consommateur : " + id + " lit : " + message;
		return description;
	}
}
